﻿namespace Sofire.Data
{
    using System;
    using System.Collections.Generic;
    using System.Text;

    /// <summary>
    /// 表示数据库操作引擎的管理器。
    /// </summary>
    public class QueryEngineManager : EngineManagerBase<QueryEngineBase, ExecuteCommand>
    {
        #region Constructors

        /// <summary>
        /// 初始化 <see cref="Sofire.Data.QueryEngineManager"/> 的新实例。
        /// </summary>
        public QueryEngineManager()
        {
        }

        #endregion Constructors

        #region Methods

        /// <summary>
        /// 给定唯一标识符和对象，添加到集合中。
        /// </summary>
        /// <param name="name">唯一标识符。</param>
        /// <param name="query">对象。</param>
        /// <returns>如果集合已存在该唯一标识符，将会返回 false，否则返回 true。</returns>
        public void Add(string name, QueryEngineBase query)
        {
            if(string.IsNullOrEmpty(name)) throw new ArgumentNullException("name");
            query._Name = name;
            query._Manager = this;
            base.AddEngine(name, query);
        }

        #endregion Methods
    }
}